// pages/login/login.js
import WxValidate from '../../utils/WxValidate'
import {getCode, login} from '../../api/user'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    yz: false,
    time: 1 * 1 * 30 * 1000,
    error1: false,
    message1: null,
    error2: false,
    message2: null,
    form: {
       mobile: '18612345678',
       code: '246810',
    }
  },
  onClickLeft() {
    wx.navigateBack({ title: '点击返回', icon: 'none' });
  },
// 发送验证码
  async sentYzm() {
    this.setData({
      yz: true
    })
    try{
    await getCode(this.data.form.mobile)
    }catch(error) {
      console.log(error)
      wx.showToast({
        title: `${error.response.data.message}`,
        icon: 'none',
        duration: 2000
      })
    }
  },
  finish() {
    this.setData({
      yz: false
    })
  },
// 动态修改mobile,code
  updataMobile(e) {
    this.setData({
      'form.mobile': e.detail.value
    })
  },
  updataCode(e) {
    this.setData({
      'form.code': e.detail.value
    })
  },

// 表单效验
initValidate() {
  const rules = {
    mobile: {
      required: true,
      tel: true
    },
    code: {
      required: true,
      minlength: 6
    }
  }
  const messages = {
    mobile: {
      required: "请输入电话号码",
      tel: "请输入正确的手机号码。"
    },
    code: {
      required: "请输入验证码",
      minlength: "请输入有效验证码"
    }
  }
  this.WxValidate = new WxValidate(rules, messages)
},
// 登录
formSubmit: async function (e) {
  const params = e.detail.value
     //校验表单
     if (!this.WxValidate.checkForm(params)) {
       const error = this.WxValidate.errorList[0]
       const error3 = this.WxValidate.errorList[1]
       this.setData({
         error1: true,
         message1: error.msg,
         error2: true,
         message2: error3.msg,
       })
    }else {
  try {
    const res = await login({
      mobile: this.data.form.mobile,
      code: this.data.form.code
    })
    console.log(res)
    wx.showToast({
      title: '登录成功',
      icon: 'success'
    })
    wx.setStorage({
      key:"token",
      data:res.data.token,
    })
    wx.setStorage({
      key:"refresh_token",
      data:res.data.refresh_token,
    })
    wx.switchTab({
      url: '/pages/index/index'
    })
  } catch (err) {
    wx.showToast({
      title: '登录失败',
      icon: 'error'
    })
  }
}
},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.initValidate()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})